/*
 * $QNXLicenseC:
 * Copyright 2007, QNX Software Systems. All Rights Reserved.
 * 
 * You must obtain a written license from and pay applicable license fees to QNX 
 * Software Systems before you may reproduce, modify or distribute this software, 
 * or any work that includes all or part of this software.   Free development 
 * licenses are available for evaluation and non-commercial purposes.  For more 
 * information visit http://licensing.qnx.com or email licensing@qnx.com.
 *  
 * This file may contain contributions from others.  Please review this entire 
 * file for other proprietary rights or license notices, as well as the QNX 
 * Development Suite License Guide at http://licensing.qnx.com/license-guide/ 
 * for other information.
 * $
 */




#include <unistd.h>
#include <limits.h>
#include <sys/uio.h>
#include "confvar.h"

#define STR(value)				#value

#define CONFSTR(name)				{ #name, FLAG_NAME | FLAG_CONFSTR, _CS_##name }
#define CONFSTR_POSIX_V6(name)                  { STR(_POSIX_V6_##name), FLAG_NAME | FLAG_CONFSTR, _CS_POSIX_V6_##name }, { STR(POSIX_V6_##name), FLAG_NAME | FLAG_CONFSTR, _CS_POSIX_V6_##name }
#define CONFSTR_XBS5(name) 			{ STR(_XBS5_##name), FLAG_NAME | FLAG_CONFSTR, _CS_XBS5_##name }, { STR(XBS5_##name), FLAG_NAME | FLAG_CONFSTR, _CS_XBS5_##name }
#define CONFSTR_NONE(name)			{ #name, FLAG_CONFSTR }
#define SYSCONF(name)				{ #name, FLAG_NAME | FLAG_SYSCONF, _SC_##name }
#define SYSCONF__POSIX_NOVALUE(name){ STR(_POSIX_##name), FLAG_NAME | FLAG_SYSCONF, _SC_##name }
#define SYSCONF_POSIX_NOVALUE(name)	{ STR(POSIX_##name), FLAG_NAME | FLAG_SYSCONF, _SC_##name }
#define SYSCONF_NONE(name)			{ #name, FLAG_SYSCONF }
#define SYSCONF_VALUE(name)			{ #name, FLAG_NAME | FLAG_SYSCONF | FLAG_VALUE, _SC_##name, name }
#define SYSCONF_POSIX(name)			{ #name, FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE, _SC_##name, 0, _POSIX_##name }
#define SYSCONF__POSIX(name)		{ STR(_POSIX_##name), FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE, _SC_##name, 0, _POSIX_##name }
#define SYSCONF_POSIX_POSIX(name)	{ STR(POSIX_##name), FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE, _SC_##name, 0, _POSIX_##name }
#define SYSCONF_PTHREAD(name)		{ STR(P##name), FLAG_NAME | FLAG_SYSCONF, _SC_##name }
#define SYSCONF_PTHREAD_POSIX(name)	{ STR(P##name), FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE, _SC_##name, 0, _POSIX_##name }
#define SYSCONF_VALUE_POSIX(name)	{ #name, FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE | FLAG_VALUE, _SC_##name, name, _POSIX_##name }
#define SYSCONF_VALUE__POSIX(name)	{ STR(_POSIX_##name), FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE | FLAG_VALUE, _SC_##name, name, _POSIX_##name }
#define SYSCONF_POSIX2(name)		{ STR(POSIX2_##name), FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE, _SC_##name, 0, _POSIX2_##name }
#define SYSCONF_VALUE_POSIX2(name)	{ STR(POSIX2_##name), FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE | FLAG_VALUE, _SC_##name, name, _POSIX2_##name }
#define SYSCONF_POSIX2_2(name)		{ STR(POSIX2_##name), FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE, _SC_2_##name, 0, _POSIX2_##name }
#define SYSCONF_XOPEN(name)			{ STR(_XOPEN_##name), FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE, _SC_XOPEN_##name, 0, _XOPEN_##name }
#define SYSCONF_VALUE_XOPEN(name)	{ STR(_XOPEN_##name), FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE | FLAG_VALUE, _SC_XOPEN_##name, _XOPEN_##name, _XOPEN_##name }
#define SYSCONF_XBS5(name)			{ STR(_XBS5_##name), FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE, _SC_XBS5_##name, 0, _XBS5_##name }
#define SYSCONF_VALUE_XBS5(name)	{ STR(_XBS5_##name), FLAG_NAME | FLAG_SYSCONF | FLAG_POSIX_VALUE | FLAG_VALUE, _SC_XBS5_##name, _XBS5_##name, _XBS5_##name }
#define PATHCONF(name)				{ #name, FLAG_NAME | FLAG_PATHCONF, _PC_##name }
#define PATHCONF_NONE(name)			{ #name, FLAG_PATHCONF }
#define PATHCONF_POSIX(name)		{ #name, FLAG_NAME | FLAG_PATHCONF | FLAG_POSIX_VALUE, _PC_##name, 0, _POSIX_##name }
#define PATHCONF__POSIX(name)		{ STR(_POSIX_##name), FLAG_NAME | FLAG_PATHCONF | FLAG_POSIX_VALUE, _PC_##name, 0, _POSIX_##name }
#define PATHCONF_VALUE_POSIX(name)	{ #name, FLAG_NAME | FLAG_PATHCONF | FLAG_POSIX_VALUE, _PC_##name, name, _POSIX_##name }
#define PATHCONF_VALUE__POSIX(name)	{ STR(_POSIX_##name), FLAG_NAME | FLAG_PATHCONF | FLAG_POSIX_VALUE, _PC_##name, name, _POSIX_##name }

struct variable table[] = {
	CONFSTR(				ARCHITECTURE	),
	CONFSTR(				DOMAIN	),
	CONFSTR(				HOSTNAME	),
	CONFSTR(				HW_PROVIDER	),
	CONFSTR(				HW_SERIAL	),
	CONFSTR(				LIBPATH	),
#ifdef _CS_LOCALE
	CONFSTR(				LOCALE	),
#else
	CONFSTR_NONE(			LOCALE	),
#endif
	CONFSTR(				MACHINE	),
	CONFSTR(				PATH	),
	CONFSTR(				RELEASE	),
	CONFSTR(				RESOLVE	),
	CONFSTR(				SRPC_DOMAIN	),
	CONFSTR(				SYSNAME	),
	CONFSTR(				TIMEZONE	),
	CONFSTR(				VERSION	),
	CONFSTR_NONE(			LFS_CFLAGS	),
	CONFSTR_NONE(			LFS_LDFLAGS	),
	CONFSTR_NONE(			LFS_LIBS	),
	CONFSTR_NONE(			LFS_LINTFLAGS	),
	CONFSTR_NONE(			LFS64_CFLAGS	),
	CONFSTR_NONE(			LFS64_LDFLAGS	),
	CONFSTR_NONE(			LFS64_LIBS	),
	CONFSTR_NONE(			LFS64_LINTFLAGS	),
	CONFSTR_XBS5(			ILP32_OFF32_CFLAGS	),
	CONFSTR_XBS5(			ILP32_OFF32_LDFLAGS	),
	CONFSTR_XBS5(			ILP32_OFF32_LIBS	),
	CONFSTR_XBS5(			ILP32_OFF32_LINTFLAGS	),
	CONFSTR_XBS5(			ILP32_OFFBIG_CFLAGS	),
	CONFSTR_XBS5(			ILP32_OFFBIG_LDFLAGS	),
	CONFSTR_XBS5(			ILP32_OFFBIG_LIBS	),
	CONFSTR_XBS5(			ILP32_OFFBIG_LINTFLAGS	),
	CONFSTR_XBS5(			LP64_OFF64_CFLAGS	),
	CONFSTR_XBS5(			LP64_OFF64_LDFLAGS	),
	CONFSTR_XBS5(			LP64_OFF64_LIBS	),
	CONFSTR_XBS5(			LP64_OFF64_LINTFLAGS	),
	CONFSTR_XBS5(			LPBIG_OFFBIG_CFLAGS	),
	CONFSTR_XBS5(			LPBIG_OFFBIG_LDFLAGS	),
	CONFSTR_XBS5(			LPBIG_OFFBIG_LIBS	),
	CONFSTR_XBS5(			LPBIG_OFFBIG_LINTFLAGS	),
	CONFSTR_POSIX_V6(               WIDTH_RESTRICTED_ENVS   ),

	SYSCONF_POSIX2_2(		CHAR_TERM	),
	SYSCONF_POSIX2_2(		C_BIND	),
#ifdef _POSIX2_C_DEV
	SYSCONF_POSIX2_2(		C_DEV	),
#else
	SYSCONF_NONE(			POSIX2_C_DEV	),
#endif
	SYSCONF_POSIX2_2(		C_VERSION	),
	SYSCONF_POSIX2_2(		FORT_DEV	),
	SYSCONF_POSIX2_2(		FORT_RUN	),
	SYSCONF_POSIX2_2(		LOCALEDEF	),
	SYSCONF_POSIX2_2(		SW_DEV	),
	SYSCONF_POSIX2_2(		UPE	),
	SYSCONF_POSIX2_2(		VERSION	),
#ifdef AIO_LISTIO_MAX
	SYSCONF_VALUE_POSIX(	AIO_LISTIO_MAX	),
#else
	SYSCONF_POSIX(			AIO_LISTIO_MAX	),
#endif
#ifdef AIO_MAX
	SYSCONF_VALUE_POSIX(	AIO_MAX	),
#else
	SYSCONF_POSIX(			AIO_MAX	),
#endif
#ifdef AIO_PRIO_DELTA_MAX
	SYSCONF_VALUE(			AIO_PRIO_DELTA_MAX	),
#else
	SYSCONF(				AIO_PRIO_DELTA_MAX	),
#endif
	SYSCONF_VALUE_POSIX(	ARG_MAX	),
	SYSCONF_VALUE__POSIX(	ARG_MAX	),
#ifdef _POSIX_ASYNCRONOUS_IO
	SYSCONF_VALUE__POSIX(	ASYNCHRONOUS_IO	),
#else
	SYSCONF__POSIX_NOVALUE(	ASYNCHRONOUS_IO	),
#endif
	SYSCONF_VALUE(			ATEXIT_MAX	),
	SYSCONF(				AVPHYS_PAGES	),
	SYSCONF_POSIX2(			BC_BASE_MAX	),
	SYSCONF_POSIX2(			BC_DIM_MAX	),
	SYSCONF_POSIX2(			BC_SCALE_MAX	),
	SYSCONF_POSIX2(			BC_STRING_MAX	),
	SYSCONF_VALUE(			CHARCLASS_NAME_MAX	),
	SYSCONF_VALUE(			CHAR_BIT	),
	SYSCONF_VALUE(			CHAR_MAX	),
	SYSCONF_VALUE(			CHAR_MIN	),
#ifdef CHILD_MAX
	SYSCONF_VALUE__POSIX(	CHILD_MAX	),
#else
	SYSCONF__POSIX(			CHILD_MAX	),
#endif
	SYSCONF(				CLK_TCK	),
	SYSCONF_POSIX2(			COLL_WEIGHTS_MAX	),
	SYSCONF_VALUE_POSIX(	DELAYTIMER_MAX	),
	SYSCONF(				EQUIV_CLASS_MAX	),
	SYSCONF_POSIX2(			EXPR_NEST_MAX	),
	SYSCONF__POSIX(			FSYNC	),
	SYSCONF(				GETGR_R_SIZE_MAX	),
	SYSCONF(				GETPW_R_SIZE_MAX	),
	SYSCONF_VALUE(			INT_MAX	),
	SYSCONF_VALUE(			INT_MIN	),
#ifdef _POSIX_JOB_CONTROL
	SYSCONF__POSIX(			JOB_CONTROL	),
#else
	SYSCONF_POSIX_NOVALUE(	JOB_CONTROL	),
#endif
	SYSCONF_VALUE_POSIX2(	LINE_MAX	),
#ifdef LOGIN_NAME_MAX
	SYSCONF_VALUE_POSIX(	LOGIN_NAME_MAX	),
#else
	SYSCONF_POSIX(			LOGIN_NAME_MAX	),
#endif
	SYSCONF(				LOGNAME_MAX	),
	SYSCONF(				LONG_BIT	),
#ifdef _POSIX_MAPPED_FILES
	SYSCONF__POSIX(			MAPPED_FILES	),
#else
	SYSCONF__POSIX_NOVALUE(	MAPPED_FILES	),
#endif
	SYSCONF_VALUE(			MB_LEN_MAX	),
#ifdef _POSIX_MEMLOCK
	SYSCONF__POSIX(			MEMLOCK	),
#else
	SYSCONF__POSIX_NOVALUE(	MEMLOCK	),
#endif
#ifdef _POSIX_MEMLOCK_RANGE
	SYSCONF__POSIX(			MEMLOCK_RANGE	),
#else
	SYSCONF__POSIX_NOVALUE(	MEMLOCK_RANGE	),
#endif
	SYSCONF__POSIX(			MEMORY_PROTECTION	),
	SYSCONF__POSIX(			MESSAGE_PASSING	),
	SYSCONF__POSIX(			MQ_OPEN_MAX	),
	SYSCONF_VALUE_POSIX(	MQ_PRIO_MAX	),
	SYSCONF_VALUE_POSIX(	NGROUPS_MAX	),
	SYSCONF_VALUE__POSIX(	NGROUPS_MAX	),
	SYSCONF(				NL_ARGMAX	),
	SYSCONF(				NL_LANGMAX	),
	SYSCONF(				NL_MSGMAX	),
	SYSCONF(				NL_NMAX	),
	SYSCONF(				NL_SETMAX	),
	SYSCONF(				NL_TEXTMAX	),
	SYSCONF(				NPROCESSORS_CONF	),
	SYSCONF(				NPROCESSORS_ONLN	),
#ifdef NZERO
	SYSCONF_VALUE(			NZERO	),
#else
	SYSCONF(				NZERO	),
#endif
#ifdef OPEN_MAX
	SYSCONF_VALUE_POSIX(	OPEN_MAX	),
	SYSCONF_VALUE__POSIX(	OPEN_MAX	),
#else
	SYSCONF_POSIX(			OPEN_MAX	),
	SYSCONF__POSIX(			OPEN_MAX	),
#endif
#ifdef PAGESIZE
	SYSCONF_VALUE(			PAGESIZE	),
#else
	SYSCONF(				PAGESIZE	),
#endif
	SYSCONF(				PAGE_SIZE	),
	SYSCONF(				PASS_MAX	),
	SYSCONF(				PHYS_PAGES	),
	SYSCONF(				PII	),
	SYSCONF(				PII_INTERNET	),
	SYSCONF(				PII_INTERNET_DGRAM	),
	SYSCONF(				PII_INTERNET_STREAM	),
	SYSCONF(				PII_OSI	),
	SYSCONF(				PII_OSI_CLTS	),
	SYSCONF(				PII_OSI_COTS	),
	SYSCONF(				PII_OSI_M	),
	SYSCONF(				PII_SOCKET	),
	SYSCONF(				PII_XTI	),
	SYSCONF(				POLL	),
#ifdef _POSIX_PRIORITIZED_IO
	SYSCONF__POSIX(			PRIORITIZED_IO	),
#else
	SYSCONF__POSIX_NOVALUE(	PRIORITIZED_IO	),
#endif
#ifdef _POSIX_PRIORITY_SCHEDULING
	SYSCONF__POSIX(			PRIORITY_SCHEDULING	),
#else
	SYSCONF__POSIX_NOVALUE(	PRIORITY_SCHEDULING	),
#endif
	SYSCONF_POSIX(			REALTIME_SIGNALS	),
	SYSCONF_VALUE_POSIX2(	RE_DUP_MAX	),
#ifdef RTSIG_MAX
	SYSCONF_VALUE_POSIX(	RTSIG_MAX	),
#else
	SYSCONF_POSIX(			RTSIG_MAX	),
#endif
	SYSCONF__POSIX(			SAVED_IDS	),
	SYSCONF_VALUE(			SCHAR_MAX	),
	SYSCONF_VALUE(			SCHAR_MIN	),
	SYSCONF(				SELECT	),
	SYSCONF__POSIX(			SEMAPHORES	),
#ifdef SEM_NSEMS_MAX
	SYSCONF_VALUE_POSIX(	SEM_NSEMS_MAX	),
#else
	SYSCONF_POSIX(			SEM_NSEMS_MAX	),
#endif
#ifdef SEM_VALUE_MAX
	SYSCONF_VALUE_POSIX(	SEM_VALUE_MAX	),
#else
	SYSCONF_POSIX(			SEM_VALUE_MAX	),
#endif
	SYSCONF__POSIX(			SHARED_MEMORY_OBJECTS	),
	SYSCONF_VALUE(			SHRT_MAX	),
	SYSCONF_VALUE(			SHRT_MIN	),
#ifdef SIGQUEUE_MAX
	SYSCONF_VALUE_POSIX(	SIGQUEUE_MAX	),
	SYSCONF_VALUE__POSIX(	SIGQUEUE_MAX	),
#else
	SYSCONF_POSIX(			SIGQUEUE_MAX	),
	SYSCONF__POSIX_NOVALUE(	SIGQUEUE_MAX	),
#endif
	SYSCONF_VALUE(			SSIZE_MAX	),
	SYSCONF_VALUE__POSIX(	SSIZE_MAX	),
#ifdef STREAM_MAX
	SYSCONF_VALUE_POSIX(	STREAM_MAX	),
	SYSCONF_VALUE__POSIX(	STREAM_MAX	),
#else
	SYSCONF_POSIX(			STREAM_MAX	),
	SYSCONF__POSIX_NOVALUE(	STREAM_MAX	),
#endif
	SYSCONF__POSIX_NOVALUE(	SYNCHRONIZED_IO	),
	SYSCONF__POSIX_NOVALUE(	THREADS	),
	SYSCONF_POSIX_POSIX(	THREAD_ATTR_STACKADDR	),
	SYSCONF_POSIX_POSIX(	THREAD_ATTR_STACKSIZE	),
	SYSCONF_PTHREAD_POSIX(	THREAD_DESTRUCTOR_ITERATIONS	),
	SYSCONF_PTHREAD_POSIX(	THREAD_KEYS_MAX	),
	SYSCONF_POSIX_POSIX(	THREAD_PRIORITY_SCHEDULING	),
	SYSCONF_POSIX_POSIX(	THREAD_PRIO_INHERIT	),
#ifdef _POSIX_THREAD_PRIO_PROTECT
	SYSCONF_POSIX_POSIX(	THREAD_PRIO_PROTECT	),
#else
	SYSCONF_POSIX_NOVALUE(	THREAD_PRIO_PROTECT	),
#endif
	SYSCONF_POSIX_POSIX(	THREAD_PROCESS_SHARED	),
#ifdef _POSIX_THREAD_SAFE_FUNCTIONS
	SYSCONF_POSIX_POSIX(	THREAD_SAFE_FUNCTIONS	),
#else
	SYSCONF_POSIX_NOVALUE(	THREAD_SAFE_FUNCTIONS	),
#endif
#ifdef _POSIX_THREAD_STACK_MIN
	SYSCONF_PTHREAD_POSIX(	THREAD_STACK_MIN	),
#else
	SYSCONF_PTHREAD(		THREAD_STACK_MIN	),
#endif
	SYSCONF_PTHREAD_POSIX(	THREAD_THREADS_MAX	),
	SYSCONF__POSIX_NOVALUE(	TIMERS	),
#ifdef TIMER_MAX
	SYSCONF_VALUE_POSIX(	TIMER_MAX	),
	SYSCONF_VALUE__POSIX(	TIMER_MAX	),
#else
	SYSCONF_POSIX(			TIMER_MAX	),
	SYSCONF__POSIX_NOVALUE(	TIMER_MAX	),
#endif
	SYSCONF_VALUE_POSIX(	TTY_NAME_MAX	),
	SYSCONF_VALUE_POSIX(	TZNAME_MAX	),
	SYSCONF_VALUE__POSIX(	TZNAME_MAX	),
#if !defined(_SC_IOV_MAX) && defined(_SC_T_IOV_MAX)
#define _SC_IOV_MAX _SC_T_IOV_MAX
#endif
#define IOV_MAX				_XOPEN_IOV_MAX	/* This is a wierd one */
	SYSCONF_VALUE(			IOV_MAX	),
	SYSCONF_VALUE(			UCHAR_MAX	),
	SYSCONF_VALUE(			UINT_MAX	),
	SYSCONF_VALUE(			UIO_MAXIOV	),
	SYSCONF_VALUE(			ULONG_MAX	),
	SYSCONF_VALUE(			USHRT_MAX	),
	SYSCONF__POSIX(			VERSION	),
	SYSCONF_VALUE(			WORD_BIT	),
	SYSCONF_VALUE_XBS5(		ILP32_OFF32	),
	SYSCONF_VALUE_XBS5(		ILP32_OFFBIG	),
	SYSCONF_VALUE_XBS5(		LP64_OFF64	),
	SYSCONF_VALUE_XBS5(		LPBIG_OFFBIG	),
	SYSCONF_VALUE_XOPEN(	CRYPT	),
	SYSCONF_VALUE_XOPEN(	ENH_I18N	),
	SYSCONF_VALUE_XOPEN(	SHM	),
	SYSCONF_VALUE_XOPEN(	UNIX	),
	SYSCONF_VALUE_XOPEN(	VERSION	),
	SYSCONF_VALUE_XOPEN(	XCU_VERSION	),
	SYSCONF_VALUE_XOPEN(	XPG2	),
	SYSCONF_VALUE_XOPEN(	XPG3	),
	SYSCONF_VALUE_XOPEN(	XPG4	),

	PATHCONF_POSIX(			ASYNC_IO	),
	PATHCONF__POSIX(		CHOWN_RESTRICTED	),
	PATHCONF(				DOS_SHARE	),
#ifdef _POSIX_FILESIZEBITS
#ifdef FILESIZEBITS
	PATHCONF_VALUE_POSIX(	FILESIZEBITS	),
#else
	PATHCONF_POSIX(			FILESIZEBITS	),
#endif
#else
#ifdef FILESIZEBITS
	PATHCONF_VALUE(			FILESIZEBITS	),
#else
	PATHCONF(				FILESIZEBITS	),
#endif
#endif
	PATHCONF(				IMAGE_VADDR	),
	PATHCONF(				LINK_DIR	),
	PATHCONF_VALUE_POSIX(	LINK_MAX	),
	PATHCONF_VALUE__POSIX(	LINK_MAX	),
#ifdef MAX_CANNON
	PATHCONF_VALUE_POSIX(	MAX_CANON	),
	PATHCONF_VALUE__POSIX(	MAX_CANON	),
#else
	PATHCONF_POSIX(			MAX_CANON	),
	PATHCONF__POSIX(		MAX_CANON	),
#endif
#ifdef MAX_INPUT
	PATHCONF_VALUE_POSIX(	MAX_INPUT	),
#else
	PATHCONF_POSIX(			MAX_INPUT	),
#endif
	PATHCONF_VALUE_POSIX(	NAME_MAX	),
	PATHCONF_VALUE__POSIX(	NAME_MAX	),
	PATHCONF__POSIX(		NO_TRUNC	),
	PATHCONF_VALUE_POSIX(	PATH_MAX	),
	PATHCONF_VALUE__POSIX(	PATH_MAX	),
	PATHCONF_VALUE_POSIX(	PIPE_BUF	),
	PATHCONF_VALUE__POSIX(	PIPE_BUF	),
	PATHCONF__POSIX(		PRIO_IO	),
	PATHCONF(				SOCK_MAXBUF	),
#ifdef SYMLINK_MAX
	PATHCONF_VALUE_POSIX(	SYMLINK_MAX	),
	PATHCONF_VALUE__POSIX(	SYMLINK_MAX	),
#else
	PATHCONF_POSIX(			SYMLINK_MAX	),
	PATHCONF__POSIX(		SYMLINK_MAX	),
#endif
#ifdef SYMLOOP_MAX
	PATHCONF_VALUE_POSIX(	SYMLOOP_MAX	),
	PATHCONF_VALUE__POSIX(	SYMLOOP_MAX	),
#else
	PATHCONF_POSIX(			SYMLOOP_MAX	),
	PATHCONF__POSIX(		SYMLOOP_MAX	),
#endif
	PATHCONF_POSIX(			SYNC_IO	),
	PATHCONF__POSIX(		VDISABLE	),
	{ 0, FLAG_END }
};
